package com.egao.common.module.cooperative.entity;

import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 产教融合
 * 项目活动
 * 项目风采
 * 项目工作动态
 * @author lym
 */
@ApiModel(description = "产教融合 项目活动")
@Data
@TableName("cooperative_project_activity")
public class CooperativeProjectActivity implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键编号")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("项目ID")
    private Integer cooperativeProjectId;

    @ApiModelProperty("类型 1活动 2风采 3动态")
    private String type;

    @ApiModelProperty("审核状态 2提交 1未通过 0通过")
    private String state;

    @ApiModelProperty("审核说明")
    private String stateContent;

    @ApiModelProperty("活动发布状态 3未申请发布 2申请发布 1发布未通过 0发布成功")
    private String releaseState;
    @ApiModelProperty("活动发布状态说明")
    private String releaseContent;

    @ApiModelProperty("发布时间")
    private Date releaseTime;

    @ApiModelProperty("活动计划标题")
    private String titlePlan;

    @ApiModelProperty("活动计划")
    private String plan;

    @ApiModelProperty("活动预算")
    private String budget;

    @ApiModelProperty("活动标题")
    private String title;

    @ApiModelProperty("点击量")
    private Integer hits;

    @ApiModelProperty("活动地址")
    private String address;

    @ApiModelProperty("报名人数限制")
    private Integer number;

    @ApiModelProperty("报名截止时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    private Date closeTime;

    @ApiModelProperty("活动开始时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    private Date startTime;

    @ApiModelProperty("活动结束时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    private Date endTime;

    @ApiModelProperty("封面图")
    private String img;

    @ApiModelProperty("活动签到二维码")
    private String qrCode;

    @ApiModelProperty("活动内容")
    private String content;

    @ApiModelProperty("添加人")
    private Integer createBy;
    @ApiModelProperty("添加时间")
    private Date createTime;
    @ApiModelProperty("编辑时间")
    private Date updateTime;
    @ApiModelProperty("逻辑删除 0正常 1删除")
    @TableLogic
    private Integer deleted;
}
